<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件

/**
 * [uploadsingle 单图片上传]
 * @param  [type] $imgname  [图片名]
 * @param  [type] $filename [图片路径]
 * @return [type]           [返回值]
 */
	function uploadsingle($imgname,$filename){
    // 获取表单上传文件 例如上传了brand_img.jpg
    $file = request()->file($imgname);
    // 移动到框架应用根目录/public/static/index/image/brand 目录下
    if($file)
	    {
	        $info = $file->move($filename);
	        if($info)
	        {
	            // 成功上传后 获取上传信息
	             return $info->getSaveName();
	        }else{
	            // 上传失败获取错误信息
	            echo $file->getError();
	            die;
	        }
	    }
	}

/**
 * 绑定标题
 */
	function settitle($conname)
	{
		$action=request()->action();
		if($action=='lst')
		{	
			$title=$conname.'列表';
			$second=$conname.'管理';
			$third=$conname.'列表';
		}elseif($action=='add')
		{
			$title=$conname.'添加';
			$second=$conname.'管理';
			$third=$conname.'添加';
		}elseif($action=='edit')
		{
			$title=$conname.'修改';
			$second=$conname.'管理';
			$third=$conname.'修改';
		}else
		{
			$title=$conname.'管理';
			$second=$conname.'管理';
			$third=$conname.'管理';
		}
		return array(
			'title'=>$title,
			'first'=>'首页',
			'second'=>$second,
			'third'=>$third
		);
	}




/**
 * [cut_str 字符串截取]
 * @param  [type] $sourcestr [description]
 * @param  [type] $cutlength [description]
 * @return [type]            [description]
 */
function cut_str($sourcestr,$cutlength)  
{  
   $returnstr='';  
   $i=0;  
   $n=0;  
   $str_length=strlen($sourcestr);//字符串的字节数  
   while (($n<$cutlength) and ($i<=$str_length))  
   {  
      $temp_str=substr($sourcestr,$i,1);  
      $ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码  
      if ($ascnum>=224)    //如果ASCII位高与224，  
      {  
		 $returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范，将3个连续的字符计为单个字符          
         $i=$i+3;            //实际Byte计为3  
         $n++;            //字串长度计1  
      }  
      elseif ($ascnum>=192) //如果ASCII位高与192，  
      {  
         $returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范，将2个连续的字符计为单个字符  
         $i=$i+2;            //实际Byte计为2  
         $n++;            //字串长度计1  
      }  
      elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母，  
      {  
         $returnstr=$returnstr.substr($sourcestr,$i,1);  
         $i=$i+1;            //实际的Byte数仍计1个  
         $n++;            //但考虑整体美观，大写字母计成一个高位字符  
      }  
      else                //其他情况下，包括小写字母和半角标点符号，  
      {  
         $returnstr=$returnstr.substr($sourcestr,$i,1);  
         $i=$i+1;            //实际的Byte数计1个  
         $n=$n+0.5;        //小写字母和半角标点等与半个高位字符宽...  
      }  
   }  
         if ($str_length>$i){  
         $returnstr = $returnstr . "...";//超过长度时在尾处加上省略号  
      }  
    return $returnstr;  
} 


/**
 * myscandir:遍历图片
 * 
 */
 //图片资源处理函数
function myscandir($dir=UEDITOR){
   $files=array();
   $dir_list=scandir($dir);
   foreach ($dir_list as $file) {
      if($file != '.' && $file != '..'){
         if(is_dir($dir.'/'.$file)){
            $files[$file]=myscandir($dir.'/'.$file);
         }else{
            $files[]=$dir.'/'.$file;
         }
      }
   }
   return $files;
}


   //ajax异步修改启动状态
    function ajaxchangestatus($id,$obj,$status)
   {
      $show_status=$obj->where('id',$id)->find();
  
      $show_status=$show_status[$status];
      if($show_status==1)
      {
         $save=$obj->where('id',$id)->setField($status,0);
         if($save)
         {
            return 1;
         }
      }else
      {
         $save=$obj->where('id',$id)->setField($status,1);
         if($save)
         {
            return 2;
         }
      }

   }


  function delimg($id,$obj,$fieldsname,$dir,$catename)
   {
      //查询是否有品牌图片 如果有则删除
      $imgurl=$obj->field($fieldsname)->find($id);
      $img_url=$imgurl[$fieldsname];
      if(!empty($img_url))
      {
         $fileurl=$dir.DS.$catename;
         $filename=$fileurl.DS.$img_url;
         if(file_exists($filename))
         {
            @unlink($filename);
         }
         return '1';
      }else
      {
         return '2';
      }
   }

   //商品基本信息主图片生成缩略图
   function transthumb($thumbname,$dir,
             $thumbconfig=array(
            'sm_thumb'=>'300,300',
            'mid_thumb'=>'400,400',
            'big_thumb'=>'500,500'
         )){
             // 获取表单上传文件 例如上传了图片名为$thumbname;
             $file = request()->file($thumbname);
             dump($file);
             die;

             // 移动到框架应用根目录/public/static/index/image/brand 目录下
             if($file)
                {
                    $info = $file->move($dir);
                    if($info)
                    {
                        // 成功上传后 获取上传信息
                         $file_name=$dir.$info->getSaveName();
                         $filename=$info->getFilename();
                         $filenamestr= substr($filename,0,strpos($filename, '.'));
                         $file_namestr=array();
                         foreach ($thumbconfig as $k => $v) {
                           $wh=explode(',',$v);
                           $width=$wh[0];
                           $height=$wh[1];
                              $image = \think\Image::open($file_name);
                              $type=$image->type();
                              // 按照原图的比例生成一个最大为$width*$height的缩略图并保存为$savedir
                              $savedir=$dir.date('Ymd').DS.$k.'_'.$filenamestr.'.'.$type;
                              $file_namestr[]=date('Ymd').DS.$k.'_'.$filenamestr.'.'.$type;
                              $image->thumb($width,$height)->save($savedir);
                         }
                          return $file_namestr;
                    }else{
                        // 上传失败获取错误信息
                        echo $file->getError();
                        die;
                    }
                }
           }